package add_$11_IOStream;
/*

流的概念一直让人比较混淆。输入输出流是相对于内存而言的，程序运行在内存当中，文件保存在磁盘里面，
如果读一个文件，从磁盘到内存当中，属于输入流。如果从程序中输出到文件中，便是内存写入到磁盘，是输出流。

 */

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class _1FileInputStreamTest {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        //1.创建字节输入流对象
        FileInputStream files = new FileInputStream("test.txt");
        //2.读对象(读到末尾返回-1)
        //一次读一个字节
        int n;/*
        while(true) {
            n = files.read();
            if(n == -1) {
                break;
            }System.out.println((char)n);
        }*/
        while((n = files.read()) != -1) {
            System.out.print((char)n);
        }
        System.out.println();
        System.out.println("-----------------------------------------------------");
        //一次读1024个字节，记得把前面一次读一个字节的注释掉，因为那时已经读完了
        byte[] by = new byte[1024];
        int m;
        while((m = files.read(by)) != -1) {
            for(int i = 0; i < m; i++) {
            	System.out.print((char)by[i]);
            }
        }
        
        files.close();
    }

}
